Algorithm Design and Problem-solving
9.1 Computational Thinking Skills
Candidates should be able to:
- Show an understanding of abstraction
Notes and guidance
- Need for and benefits of using abstraction
- Describe the purpose of abstraction
- Produce an abstract model of a system by only including essential details
- Describe and use decomposition
Notes and guidance
Break down problems into sub-problems leading to the concept of a program module (procedure / function)
9.2 Algorithms
Candidates should be able to:
- Show understanding that an algorithm is a solution to a problem expressed as a sequence of defined steps
- Use suitable identifier names for the representation of data used by a problem and represent these using an identifier table
- Write pseudocode that contains input, process and output
- Write pseudocode using the three basic constructs of sequence, selection and iteration (repetition)
- Document a simple algorithm using pseudocode
- Write pseudocode from:
- a structured English description
- a flowchart
- Describe and use the process of stepwise refinement to express an algorithm to a level of detail from which the task may be programmed
- Use logic statements to define parts of an algorithm solution